11 research outputs found

    Holistic recommender systems for software engineering

    Get PDF
    The knowledge possessed by developers is often not sufficient to overcome a programming problem. Short of talking to teammates, when available, developers often gather additional knowledge from development artifacts (e.g., project documentation), as well as online resources. The web has become an essential component in the modern developer’s daily life, providing a plethora of information from sources like forums, tutorials, Q&A websites, API documentation, and even video tutorials. Recommender Systems for Software Engineering (RSSE) provide developers with assistance to navigate the information space, automatically suggest useful items, and reduce the time required to locate the needed information. Current RSSEs consider development artifacts as containers of homogeneous information in form of pure text. However, text is a means to represent heterogeneous information provided by, for example, natural language, source code, interchange formats (e.g., XML, JSON), and stack traces. Interpreting the information from a pure textual point of view misses the intrinsic heterogeneity of the artifacts, thus leading to a reductionist approach. We propose the concept of Holistic Recommender Systems for Software Engineering (H-RSSE), i.e., RSSEs that go beyond the textual interpretation of the information contained in development artifacts. Our thesis is that modeling and aggregating information in a holistic fashion enables novel and advanced analyses of development artifacts. To validate our thesis we developed a framework to extract, model and analyze information contained in development artifacts in a reusable meta- information model. We show how RSSEs benefit from a meta-information model, since it enables customized and novel analyses built on top of our framework. The information can be thus reinterpreted from an holistic point of view, preserving its multi-dimensionality, and opening the path towards the concept of holistic recommender systems for software engineering

    Identifying and Describing Information Seeking Tasks

    Full text link
    A software developer works on many tasks per day, frequently switching between these tasks back and forth. This constant churn of tasks makes it difficult for a developer to know the specifics of when they worked on what task, complicating task resumption, planning, retrospection, and reporting activities. In a first step towards an automated aid to this issue, we introduce a new approach to help identify the topic of work during an information seeking task — one of the most common types of tasks that software developers face — that is based on capturing the contents of the developer’s active window at regular intervals and creating a vector representation of key information the developer viewed. To evaluate our approach, we created a data set with multiple developers working on the same set of six information seeking tasks that we also make available for other researchers to investigate similar approaches. Our analysis shows that our approach enables: 1) segments of a developer’s work to be automatically associated with a task from a known set of tasks with average accuracy of 70.6%, and 2) a word cloud describing a segment of work that a developer can use to recognize a task with average accuracy of 67.9%

    Mining StackOverflow to turn the IDE into a self-confident programming prompter

    No full text
    Developers often require knowledge beyond the one they possess, which often boils down to consulting sources of information like Application Programming Interfaces (API) documentation, forums, Q&A websites, etc. Knowing what to search for and how is non-trivial, and developers spend time and energy to formulate their problems as queries and to peruse and process the results. We propose a novel approach that, given a context in the IDE, automatically retrieves pertinent discussions from Stack Overflow, evaluates their relevance, and, if a given confidence threshold is surpassed, notifies the developer about the available help. We have implemented our approach in Prompter, an Eclipse plug-in. Prompter has been evaluated through two studies. The first was aimed at evaluating the devised ranking model, while the second was conducted to evaluate the usefulness of Prompter

    SOTorrent: Reconstructing and analyzing the evolution of stack overflow posts

    No full text
    Co-located with ICSE '18: 40th International Conference on Software Engineering.Stack Overflow (SO) is the most popular question-and-answer website for software developers, providing a large amount of code snippets and free-form text on a wide variety of topics. Like other software artifacts, questions and answers on SO evolve over time, for example when bugs in code snippets are fixed, code is updated to work with a more recent library version, or text surrounding a code snippet is edited for clarity. To be able to analyze how content on SO evolves, we built SOTorrent, an open dataset based on the official SO data dump. SOTorrent provides access to the version history of SO content at the level of whole posts and individual text or code blocks. It connects SO posts to other platforms by aggregating URLs from text blocks and by collecting references from GitHub files to SO posts. In this paper, we describe how we built SOTorrent, and in particular how we evaluated 134 different string similarity metrics regarding their applicability for reconstructing the version history of text and code blocks. Based on a first analysis using the dataset, we present insights into the evolution of SO posts, e.g., that post edits are usually small, happen soon after the initial creation of the post, and that code is rarely changed without also updating the surrounding text. Further, our analysis revealed a close relationship between post edits and comments. Our vision is that researchers will use SOTorrent to investigate and understand the evolution of SO posts and their relation to other platforms such as GitHub.Sebastian Baltes, Lorik Dumani, Christoph Treude, Stephan Dieh

    An observational study of functional abilities in infants, children, and adults with type 1 SMA

    No full text
    ObjectiveTo report cross-sectional clinical findings in a large cohort of patients affected by type 1 spinal muscular atrophy.MethodsWe included 122 patients, of age ranging between 3 months and 22 years, 1 month. More than 70% (85/122) were older than 2 years and 25% (31/122) older than 10 years. Patients were classified according to the severity of phenotype and to the number of SMN2 copies.ResultsPatients with the more common and the most severe phenotype older than 2 years were, with few exceptions, on noninvasive ventilation and, with increasing age, more often had tracheostomy or >16-hour ventilation and a gastrostomy inserted. In contrast, 25 of the 28 patients with the mildest phenotype older than 2 years had no need for tracheostomy or other ventilatory or nutritional support. In patients older than 2 years, the Children's Hospital of Philadelphia Infant Test of Neuromuscular Disorders scores were generally lower compared to those found in younger patients and showed distinct levels of functional abilities according to the severity of the phenotype. Similar findings were also observed on the Hammersmith Infant Neurological Examination.ConclusionsOur findings confirm that, after the age of 2 years, patients with type 1 spinal muscular atrophy generally survive only if they have gastrostomy and tracheostomy or noninvasive ventilation >16 hours and have low scores on the functional scales. More variability, however, can be expected in those with the mildest phenotype, who achieve head control. These data provide important baseline information at the time treatments are becoming available
    corecore